1. Field of the Invention
This invention relates to computer systems and, more particularly, to such systems which control a plurality of computers, connected in a ring, so as to be related to each other to freely perform decentralized function processing or decentralized load processing.
2. Description of the Prior Art
Recently, an attempt is made at speeding up operations by providing a plurality of processor units (hereinafter referred to as "PU") to process one program in a dispersive manner or a plurality of programs in a parallel manner.
A typical conventional process of this type is a decentralized processing system in which a plurality of PUs are connected via a bus or communication channels to establish a multiprocessor system such that the respective PUs cooperate to process information. Such decentralized system in classified into a decentralized function system and a decentralized load system depending on the contents of the processing allocated to the respective PUs.
As shown in FIG. 1, the decentralized function system is composed, for example, of a main processor MPU and a plurality of processors PU.sub.1 -PU.sub.n connected in a star. Processors PU.sub.1 -PU.sub.n have corresponding predetermined functions. For example, PU.sub.1 contains a program for controlling a printer; PU.sub.2, a program for controlling a CRT display; and PU.sub.n, a program for controlling a floppy disc device.
In this system, the program desired by the user is loaded on and executed by main processor MPU. In the course of execution, the main processor MPU advances its processing by requiring the respective PUs to process their jobs which they can process using their functions.
As shown in FIG. 2, the decentralized load system is composed of a main processor MPU and a plurality of processors PU.sub.1 -PU.sub.n controlled by the main processor. A program to be executed by the main processor is divided into n appropriate subprograms which are then allocated to and executed by the n processors PUs. The result of the execution is collected by the main processor to obtain a final result.
However, such conventional decentralized processing system is beforehand constituted so as to correspond to either one of the decentralized function and load systems and cannot satisfy both the systems at the same time.
In the decentralized function system, almost all functions which can be decentralized in advance are only directed to input/output processing by the peripheral devices of the computer system, as mentioned above, so that it is effective in the decentralization, to the respective PUs, of a program which mainly performs such processing (hereinafter referred to as "I/O limit program"). However, it is not almost useful for other decentralized processing.
In the decentralized load system in contrast with the decentralized function system, a program, almost all of which is directed to calculations (hereinafter referred to as the "calculation limit program") may be dispersed and allocated to a plurality of PUs for parallel processing purposes and is effective in improving the processing capacity. However, it cannot almost exhibit a parallel processing function for the I/O limit program.
As just described above, the decentralized processing according to the conventional computer systems cannot satisfy both the function decentralizing function and load decentralizing function and may not effectively utilize the computer system depending on a program to be executed.
A system is put to practical use in which instead of the PUs, separate computers are disposed to exchange required data among them to thereby use these computers efficiently. Usually, in such a computer system, however, the respective computers merely transmit and/or receive among them their results obtained by execution of their own programs. For example, an application in which a part of a program executed by one computer is dispersed or allocated to other computers for processing purposes cannot be planned.